﻿/**************************************************************************
    Sayfa:  Bir rapor nesnesi için .repx formatında tasarlanmış dosyayı ve diğer ad, sıra numarası grup gibi bilgilerin kaydedilebileceği controldür.

    Tarih           Sürüm       Değişiklik          İşlem
    --------------------------------------------------------------------------
    2013.Kas        1           Mehmet A. ORAKCI  Oluşturuldu.

****************************************** mehmetakiforakci@gmail.com ****/

using DevExpress.Web.ASPxUploadControl;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;

namespace RaporProj
{
    public partial class ReportEditControl : System.Web.UI.UserControl
    {
        public ProcessModes Mode { get; set; }

        const string UploadDirectory = "~/ReportFiles/";

        string _tempFileName;

        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            if (!IsPostBack)
            {
                if (Mode == ProcessModes.EditReport || Mode == ProcessModes.AddReport)
                {
                    IReportProvider _provider = DataProviderFactory.CreateReportProvider();
                    foreach (var item in _provider.GetCategories())
                        cbCategories.Items.Add(item.CategoryName, item.Id);
                }

                
            }
        }

        protected void upRepxFile_FileUploadComplete(object sender, DevExpress.Web.ASPxUploadControl.FileUploadCompleteEventArgs e)
        {
            _tempFileName = Guid.NewGuid().ToString("N") + ".repx";
            if (e.UploadedFile.IsValid)
            {
                string fileName = Path.Combine(Server.MapPath(UploadDirectory), e.UploadedFile.FileName);
                File.WriteAllBytes(fileName, e.UploadedFile.FileBytes);
                e.CallbackData = e.UploadedFile.FileName;
            }
        }
    }
}